构建乘积数组

构建乘积数组

题目描述

给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]A[i-1]*A[i+1]…*A[n-1]。不能使用除法。

  • 将数组B元素分隔成前i-1项和后i+1项的乘积
  • 先算i-1项,后算i+1项
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function multiply(array)
{
// write code here
const B=[];
B[0]=1;
let tmp=1;
for(var i=1;i<array.length;i++){
B[i]=B[i-1]*array[i-1]
}
for(var i=array.length-2;i>=0;i--){
tmp*=array[i+1];
B[i]*=tmp;
}
return B;
}